package com.chy.blog_server.modular.map.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chy.blog_server.modular.map.entity.MapDistrict;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 描述：行政地区 service 接口
 * 作者：chenhuiyan
 * 时间：2025/03/19 12:03
 */
public interface IMapDistrictService extends IService<MapDistrict> {

    /**
     * 查询列表-分页
     * @param params
     * @return
     */
    List<Map<String, Object>> listPage(Map<String, Object> params);

    /**
     * 查询列表-不分页
     * @param params
     * @return
     */
    List<Map<String, Object>> listAll(Map<String, Object> params);

    /**
     * 查询列表-实体-不分页
     * @param params
     * @return
     */
    List<MapDistrict> listAllEntity(Map<String, Object> params);

    /**
     * 查询省份列表
     * @return
     */
    List<MapDistrict> provinceList();

    /**
     * 查询城市列表：并且级别为城市
     * @return
     */
    List<MapDistrict> cityList(String provinceCode);

    /**
     * 查询总数-不分页使用
     * @param params
     * @return
     */
    int getCountAll(Map<String, Object> params);

    /**
     * 查询总数-分页使用
     * @param params
     * @return
     */
    int getCount(Map<String, Object> params);

    /**
     * 生成行政地区
     * @return
     */
    void withUpdateDistrict(HttpServletRequest request) throws Exception;

    /**
     * 彻底删除
     * @param id
     * @return
     */
    int thoroughlyDelete(String id);

}
